package com.ctshk.rpc.user.dto;

import com.ctshk.common.model.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 *  交易积分记录表
 * </p>
 *
 * @author 李新科
 * @date 2021/6/26 10:30
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="TransactionIntegralLogDTO", description="交易积分记录表")
public class TransactionIntegralLogDTO extends BaseEntity {

    @ApiModelProperty(value="订单id")
    private Long orderId;

    @ApiModelProperty(value="会员id")
    private String memberId;

    @ApiModelProperty(value="交易日期时间")
    private LocalDateTime transactionDate;

    @ApiModelProperty(value="交易会员卡号")
    private String ctsTxnCardNum;

    @ApiModelProperty(value = "交易类型")
    private String transactionType;

    @ApiModelProperty(value = "交易子类型")
    private String transactionSubType;

    @ApiModelProperty(value = "点数类型")
    private String pointName;

    @ApiModelProperty(value = "点数子类型")
    private String ctsPointSubType;

    @ApiModelProperty(value = "点数子类型代码")
    private String ctsPointSubTypeCode;

    @ApiModelProperty(value = "忠诚度计划")
    private String programName;

    @ApiModelProperty(value = "交易点数")
    private BigDecimal points;

    @ApiModelProperty(value = "交易币种")
    private String currencyCode;

    @ApiModelProperty(value = "交易金额")
    private BigDecimal amount;

    @ApiModelProperty(value = "人民币消费金额")
    private BigDecimal ctsRmbAmount;

    @ApiModelProperty(value = "定级积分,Y是N否")
    private String qualifyingFlag;

    @ApiModelProperty(value = "是否定级交易,Y是N否")
    private String ctsQualifyTxnFlag;

    @ApiModelProperty(value = "合作方编号")
    private String partnerLocation;

    @ApiModelProperty(value = "订单编号")
    private String ctsOrderNum;

    @ApiModelProperty(value = "注释")
    private String comments;

    @ApiModelProperty(value = "交易渠道")
    private String transactionChannel;

    @ApiModelProperty(value = "交易渠道序列号")
    private String ctsTransactionChannelSn;

    @ApiModelProperty(value = "交易机构代码号")
    private String ctsTransactionOrgCode;

    @ApiModelProperty(value = "三级产品目录编码")
    private String partNumber;

    @ApiModelProperty(value = "板块产品编码")
    private String ctsProdCode;

    @ApiModelProperty(value = "板块产品描述")
    private String ctsProdDesc;

    @ApiModelProperty(value = "板块交易编号")
    private String transactionNumber;

    @ApiModelProperty(value="C端用户id")
    private Long customerId;

    @ApiModelProperty(value="业务类型")
    private Integer businessType;

    @ApiModelProperty(value = "交易时的可用积分")
    private BigDecimal  availablePoints;

    @ApiModelProperty(value="交易状态,枚举类TransactionIntegralStatus,1.新建,2.交易中,3.交易完成")
    private Integer status;

    @ApiModelProperty(value="操作类型,枚举类TransactionIntegralOperateType,1.正常交易,2.取消交易")
    private Integer operateType;

    @ApiModelProperty(value = "订单来源,枚举类OrderSource")
    private Integer orderSource;

    @ApiModelProperty(value="创建人")
    private Long createId;

    @ApiModelProperty(value="修改人")
    private Long modifiedId;

    @ApiModelProperty(value="删除标识")
    private Integer isDeleted;
}
